package day01;

import java.util.Scanner;

/**
 * 要求用户输入一个计算表达式，可以使用加减乘除。
 * 只处理一次运算的，不要有连续加减乘除的表达式,且不做小数计算。(例:1+2+3)
 * 例如:
 * 1+2
 * 然后经过处理计算结果并输出:1+2=3
 * @author Bonnie
 *
 */
public class Test06 {
	public static void main(String[] args) {
		System.out.print("请输入算式(不要有空格):");
		Scanner scanner = new Scanner(System.in);
		String str = scanner.next();
		int place; //符号位置
		char symbol; //符号
		if (str.indexOf('+') != -1){
			//找到+号
			place = str.indexOf('+');
		}else if (str.indexOf('-') != -1){
			//找到-号
			place = str.indexOf('-');
		} else if (str.indexOf('*') != -1) {
			//找到*号
			place = str.indexOf('*');
		}else if (str.indexOf('/') != -1){
			place = str.indexOf('/');
		}else if (str.indexOf('%') != -1){
			place = str.indexOf('%');
		}else {
			place = str.length();
			System.out.println("符号出错，重新开始");
		}
		symbol = str.charAt(place);
		int num1 = Test06.parseInt(str.substring(0, place));
		int num2 = Test06.parseInt(str.substring(place + 1));
		int answer = 0;
		//计算
		switch (symbol){
			case '+':
				answer = num1 + num2;
				break;
			case '-':
				answer = num1 - num2;
				break;
			case '*':
				answer = num1 * num2;
				break;
			case '/':
				if (num2 == 0){
					System.out.println("除数不能为0");
					break;
				}
				answer = num1 / num2;
				break;
			case '%':
				answer = num1 % num2;
				break;
			default:
				System.out.println("重新开始");
		}
		System.out.println(String.valueOf(num1) + symbol + num2 + " = " + answer);

	}
	public static int parseInt(String str){
		// 最后要生成的数字
		int num = 0;
		// 临时变量，用于计算对应位数的数字
		int flag = 0;
		for (int i = 0; i < str.length(); i++) {
			flag = (str.charAt(i) - 48);
			/*
			 * 这里是将对应的数字计算为对应的位，例如百位数字就要用该数字乘以10的2次方
			 * 得到
			 * 可以用Math的相关方法处理(自行查看API文档)
			 */
			for (int n = 0; n < str.length() - 1 - i; n++) {
				flag *= 10;
			}
			num += flag;
		}
		return num;
	}
}








